package edu.ucsc.gameAI.fsm;

import java.util.Collection;
import java.util.LinkedList;

import edu.ucsc.gameAI.GoDownAction;
import edu.ucsc.gameAI.GoUpAction;
import edu.ucsc.gameAI.IAction;

public class State implements IState {

	IAction action;
	IAction leavingAction;
	IAction enteringAction;
	private String name;
	Collection<ITransition> transitions;

	public State(){}
	
	public State(String name){
		this.name = name;
	}
	
	public void setAction(IAction action) {
		this.action = action;
	}

	@Override
	public IAction getAction() {
		return action;
	}

	@Override
	public IAction getEntryAction() {
		return leavingAction;
	}

	@Override
	public void setEntryAction(IAction action) {
		this.leavingAction = action;
	}

	@Override
	public IAction getExitAction() {
		return enteringAction;
	}

	@Override
	public void setExitAction(IAction action) {
		this.enteringAction = action;
	}
	
	@Override
	public void setName(String name) {
		this.name = name;
	}
	
	@Override
	public String getName() {
		return this.name;
	}

	@Override
	public Collection<ITransition> getTransitions() {
		return transitions;
	}

	@Override
	public void setTransitions(Collection<ITransition> trans) {
		transitions = trans;
	}

}
